/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.nViron.client;

import org.nViron.nvConfig.nvConfig;

/**
 *
 * @author Roland
 */
public class Config extends nvConfig {

    private String cachePath;
    private int cacheNumberOfHeader;
    private int cacheNumberOfBodies;
    private String providerIP;
    private int providerPort;
    private String tileserverIP;
    private String tileCachePath;
    private String texturePath;
    private boolean usePersistentTileCache;
    private boolean usePersistentGraffitiCache;
    private int mapID;

    public Config() {
        super();
        setDefaults();
    }

    @Override
    public void saveConfig(String ressource) {
        Debug.out.println("Not supported yet.");
    }

    @Override
    public void loadConfig(String ressource) {
        Debug.out.println("Not supported yet.");
    }

    public int getCacheNumberOfBodies() {
        return cacheNumberOfBodies;
    }

    public void setCacheNumberOfBodies(int cacheNumberOfBodies) {
        this.cacheNumberOfBodies = cacheNumberOfBodies;
    }

    public int getCacheNumberOfHeader() {
        return cacheNumberOfHeader;
    }

    public void setCacheNumberOfHeader(int cacheNumberOfHeader) {
        this.cacheNumberOfHeader = cacheNumberOfHeader;
    }

    public String getCachePath() {
        return cachePath;
    }

    public void setCachePath(String cachePath) {
        this.cachePath = cachePath;
    }

    public String getProviderIP() {
        return providerIP;
    }

    public void setProviderIP(String graffitiServerIP) {
        this.providerIP = graffitiServerIP;
    }

    public int getProviderPort() {
        return providerPort;
    }

    public void setProviderPort(int graffitiServerPort) {
        this.providerPort = graffitiServerPort;
    }

    public String getTileCachePath() {
        return tileCachePath;
    }

    public void setTileCachePath(String tileCachePath) {
        this.tileCachePath = tileCachePath;
    }

    public String getTileserverIP() {
        return tileserverIP;
    }

    public void setTileserverIP(String tileserverIP) {
        this.tileserverIP = tileserverIP;
    }

    public boolean isUsePersistentGraffitiCache() {
        return usePersistentGraffitiCache;
    }

    public void setUsePersistentGraffitiCache(boolean usePersistentGraffitiCache) {
        this.usePersistentGraffitiCache = usePersistentGraffitiCache;
    }

    public boolean isUsePersistentTileCache() {
        return usePersistentTileCache;
    }

    public void setUsePersistentTileCache(boolean usePersistentTileCache) {
        this.usePersistentTileCache = usePersistentTileCache;
    }

    public String getTexturePath() {
        return texturePath;
    }

    public void setTexturePath(String texturePath) {
        this.texturePath = texturePath;
    }

    public int getMapID() {
        return mapID;
    }

    public void setMapID(int mapID) {
        this.mapID = mapID;
    }

    @Override
    protected void setDefaults() {
        super.setDefaults();
        cachePath = "data/graffiti";
        cacheNumberOfHeader = 1000;
        cacheNumberOfBodies = 200;
        usePersistentGraffitiCache = true;
        providerIP = "140.78.3.105";
        providerPort = 19266;
        tileserverIP = "140.78.3.105";
        tileCachePath = "data/tiles";
        usePersistentTileCache = true;
        texturePath = "src/textures/";
        mapID = 1017; // OSM17
    }
}
